﻿#include <iostream>

#include <array1d.h>
#include <vtkm/cont/ArrayHandle.h>         //数组类的头文件
#include <vtkm/worklet/WorkletMapField.h>  //算子封装头文件
#include <cusp/blas/blas.h>

struct SetValue : vtkm::worklet::WorkletMapField
{
	using ControlSignature = void(FieldInOut);
	using ExecutionSignature = void(_1, WorkIndex);

	void operator()(vtkm::FloatDefault& value, vtkm::Id& i) const
	{
		value = i;
	}
};

//int main()
//{
//	vtkm::cont::ArrayHandle<vtkm::FloatDefault> x, y;
//	x.Allocate(10);
//	y.Allocate(10);
//	fill(x, 1);
//	mxpy(x, y, 1.11);
//	//arr.Allocate(100);
//	//vtkm::cont::Invoker{}(SetValue{}, arr);
//
//	//std::cout << arr.ReadPortal().Get(10) << std::endl;
//
//
//	std::cout << "hello world" << std::endl;
//	return 0;
//};